Data encryption, data deduplication and data compression are features that are often desirable to enable in a number of devices, such as storage devices and servers, within a network. Encryption is a process of encoding data or other information in such a way as to prevent unauthorized access to the data or information. Often, cryptographic methods are used to encode the data in an unreadable format that is only readable if the correct key is used to decode the encrypted data.
Data deduplication is a process in which the retaining of redundant copies of repeating data is eliminated in order to reduce storage overhead. Data deduplication may be used to ensure that only one unique instance of data is retained on storage media or a network. Redundant data may be replaced with a pointer to the unique copy of the data that is being stored. For example, in an electronic mail system the same file attachment may be contained in a number of emails. Rather than store every copy of the attachment separately, data duplication may be used to store only one instance of the attachment with a reference back to the same stored copy in each of the emails. Data compression is a process of reducing the size of data so that it may be represented in a manner so that it consumes less storage space.
Various devices within a computer network may be capable of performing one or more of compression operations, encryption operations, and deduplication operations on data. However, not all devices within the network may be capable of performing these operations at the same time. In addition, it may be efficient for a particular device to perform the operations as opposed to another device in the network.